package ophiux.alipay.template.sign;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.TimeZone;

/**
 * 说明：将Map中的键值转化为字符串<br>
 * <h1>创 建 人: hehailong <br>
 * </h1> 创建日期: 2017年5月5日下午6:03:13<br>
 * 需要的jar包:
 */
public class AlipayHashMap extends HashMap<String, String> {
	private static final long serialVersionUID = 512533002L;

	public String put(String key, Object value) {
		String strValue;
		if (value == null) {
			strValue = null;
		} else if (value instanceof String) {
			strValue = (String) value;
		} else if (value instanceof Integer) {
			strValue = ((Integer) value).toString();
		} else if (value instanceof Long) {
			strValue = ((Long) value).toString();
		} else if (value instanceof Float) {
			strValue = ((Float) value).toString();
		} else if (value instanceof Double) {
			strValue = ((Double) value).toString();
		} else if (value instanceof Boolean) {
			strValue = ((Boolean) value).toString();
		} else if (value instanceof Date) {
			DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			format.setTimeZone(TimeZone.getTimeZone("GMT+8"));
			strValue = format.format((Date) value);
		} else {
			strValue = value.toString();
		}

		return put(key, strValue);
	}

	public String put(String key, String value) {
		if (StringUtils.areNotEmpty(new String[] { key, value }))
			return ((String) super.put(key, value));

		return null;
	}
}